import dash
from dash import dcc, html
from dash.dependencies import Input, Output

# 创建一个 Dash 应用
app = dash.Dash(__name__)

# 定义应用的布局
app.layout = html.Div(
    [
        dcc.Dropdown(
            id="dropdown_list",
            options=[
                {"label": "选项1", "value": "1"},
                {"label": "选项2", "value": "2"},
                {"label": "选项3", "value": "3"},
            ],
            value="1",  # 默认选中的值
        ),
        html.Div(id="dropdown-output"),
    ]
)

""" 
回调函数 update_output 
会在 Input 的值发生变化时被调用，
并将新的值传递给 Ouput
"""
# 定义回调函数
@app.callback(Output("dropdown-output", "children"), [Input("dropdown_list", "value")])
def update_output(value):
    return f"选择选项: {value}"


# 运行应用
if __name__ == "__main__":
    app.run(debug=True, port=8090)
